home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / nihcl-30.lha / nihcl-3.0 / ex / ex5-8.c < prev    next >
C/C++ Source or Header  |  1990-05-15  |  1KB  |  39 lines

  1. // ex5-8.c -- Vector operations
  2.  
  3. // $Header: /afs/alw.nih.gov/unix/sun4_40c/usr/local/src/nihcl-3.0/share/ex/RCS/ex5-8.c,v 3.0 90/05/15 22:45:35 kgorlen Rel $
  4.  
  5. #include "IntVec.h"
  6.  
  7. static int initV[] = {1,2,3,4,5,6,7,8};
  8. static int initW[] = {8,7,6,5,4,3,2,1};
  9. static int initI[] = {1,3,7,2};
  10. static int initJ[] = {-1,-2,-3,-4};
  11.  
  12. main()
  13. {
  14.     IntVec V(initV,sizeof(initV)/sizeof(int));
  15.                                 // V = 1 2 3 4 5 6 7 8
  16.     IntVec W(initW,sizeof(initW)/sizeof(int));
  17.                                 // W = 8 7 6 5 4 3 2 1
  18.     IntVec I(initI,sizeof(initI)/sizeof(int));  // I = 1 3 7 2
  19.     IntVec J(initJ,sizeof(initJ)/sizeof(int));  // J = -1 -2 -3 -4
  20.     cout << -V << endl;         // prints -1 -2 -3 -4 -5 -6 -7 -8
  21.     cout << V-W << endl;        // prints -7 -5 -3 -1 1 3 5 7
  22.     cout << (V<W) << endl;      // prints 1 1 1 1 0 0 0 0
  23.     cout << V+1 << endl;        // prints 2 3 4 5 6 7 8 9
  24.     cout << (V>3) << endl;      // prints 0 0 0 1 1 1 1 1
  25.  
  26.     IntVec T;
  27.     T = V(0,4,2); cout << T << endl;    // prints 1 3 5 7
  28.     T = V(2,3,1); cout << T << endl;    // prints 3 4 5
  29.     T = V[I]; cout << T << endl;        // prints 2 4 8 3
  30.     T = V[V>4]; cout << T << endl;      // prints 5 6 7 8
  31.  
  32.     T = V; T(1,4,2) = I;
  33.     cout << T << endl;          // prints 1 1 3 3 5 7 7 2
  34.     T = V; T[I] = J;
  35.     cout << T << endl;          // prints 1 -1 -4 -2 5 6 7 -3
  36.     T = V; T[V>4] = 0;
  37.     cout << T << endl;          // prints 1 2 3 4 0 0 0 0
  38. }
  39.